package sql

import (
	"fmt"
	"gorm.io/gorm"
)

//创建数据

/*
1.如果在创建的时候指定字段，那么其他未指定的字段，都是null
2.如果在创建的时候未指定字段,那么其他没有值的字段，都是用默认值来替代
*/

func CreateUser(db *gorm.DB) error {
	//:创建用户
	user := User{Age: 18, Phone: "15579757024", Name: "roy"}
	if err := db.Create(&user).Error; err != nil {
		return err
	}
	fmt.Printf("创建用户的id值是%v\n", user.ID)
	return nil
}

func CreateSelectUser(db *gorm.DB) error {
	//:创建指定字段的用户
	user := User{
		Name: "raise",
		Age:  20,
	}
	if err := db.Select("name", "age").Create(&user).Error; err != nil {
		return err
	}
	fmt.Printf("创建用户的id值是%v\n", user.ID)
	return nil
}

func CreateOmitUser(db *gorm.DB) error {
	//:创建指定字段之外的的用户
	user := User{
		Name: "y",
		Phone:  "17621849818",
	}
	if err := db.Omit("age","phone").Create(&user).Error; err != nil {
		return err
	}
	fmt.Printf("创建用户的id值是%v\n", user.ID)
	return nil
}

func CreateAllUser(db *gorm.DB) error {
	//:创建所有字段的用户

	user := User{
		Name: "sword",
		Age:  22,
	}
	if err := db.Create(&user).Error; err != nil {
		return err
	}
	fmt.Printf("创建用户的id值是%v\n", user.ID)
	return nil
}

func CreateDog(db *gorm.DB) error {
	return nil
}
